AR/VRã¢ããªã±ãŒã·ã§ã³ã§åªããããã©ãŒãã³ã¹ãå®çŸããããã«WebXRããããã¹ããæé©åããŸããã¬ã€ãã£ã¹ãã£ã³ã°æè¡ãããã©ãŒãã³ã¹ã®èæ ®äºé ãã¹ã ãŒãºã§æ²¡å ¥æã®ããäœéšãçã¿åºãããã®ãã¹ããã©ã¯ãã£ã¹ã解説ããŸãã
WebXRããããã¹ãã®ããã©ãŒãã³ã¹ïŒæ²¡å ¥åäœéšã®ããã®ã¬ã€ãã£ã¹ãã£ã³ã°æé©å
WebXRã¯ããŠã§ããšã®å¯Ÿè©±æ¹æ³ã«é©åœãããããããã©ãŠã¶å ã§çŽæ¥ãæ²¡å ¥åã®æ¡åŒµçŸå®ïŒARïŒããã³ä»®æ³çŸå®ïŒVRïŒäœéšãå¯èœã«ããŠããŸããå€ãã®WebXRã¢ããªã±ãŒã·ã§ã³ã®éèŠãªèŠçŽ ã¯ããŠãŒã¶ãŒãèŠãŠããæ¹åãæããŠããæ¹åã倿ãããã®ã¬ã€ãä»®æ³ãªããžã§ã¯ããšäº€å·®ãããã©ãããæ±ºå®ããèœåã§ãããã®ããã»ã¹ã¯ããããã¹ããšåŒã°ããã¬ã€ãã£ã¹ãã£ã³ã°ã«å€§ããäŸåããŠããŸããããã©ãŒãã³ã¹ãé«ããæ¥œããæ²¡å ¥åäœéšãäœæããããã«ã¯ãã¬ã€ãã£ã¹ãã£ã³ã°ã®æé©åãäžå¯æ¬ ã§ããã©ã°ããã£ãããåå¿ãéãAR/VRã¢ããªã±ãŒã·ã§ã³ã¯ãããã«ãŠãŒã¶ãŒã®äžæºãåŒãèµ·ãããé¢è±ã«ã€ãªããå¯èœæ§ããããŸãããã®èšäºã§ã¯ãWebXRããããã¹ãã®è€éããæãäžããã¹ã ãŒãºã§å¿çæ§ã®é«ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã確ä¿ããããã®ã¬ã€ãã£ã¹ãã£ã³ã°æé©åã«é¢ããå®è·µçãªæŠç¥ãæäŸããŸãã
WebXRããããã¹ãã®çè§£
WebXRããããã¹ãã䜿çšãããšãAR/VRã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã®èŠç¹ããçºããããã¬ã€ãšä»®æ³ç°å¢ãšã®äº€å·®ç¹ã決å®ã§ããŸãããã®ã¬ã€ã¯éåžžããŠãŒã¶ãŒã®ç®ïŒVRã®å ŽåïŒãŸãã¯ç»é¢äžã§è§ŠããŠããç¹ïŒARã®å ŽåïŒãããã£ã¹ããããŸããããããã¹ãã®çµæã¯ã亀差ç¹ãŸã§ã®è·é¢ã亀差ç¹ã§ã®ãµãŒãã§ã¹ã®æ³ç·ãããã³åºã«ãªã3Dãžãªã¡ããªã«é¢ããæ å ±ãæäŸããŸãããã®æ å ±ã¯ã以äžãå«ãããŸããŸãªã€ã³ã¿ã©ã¯ã·ã§ã³ã«äœ¿çšãããŸãã
- ãªããžã§ã¯ãã®é 眮ïŒãŠãŒã¶ãŒãçŸå®äžçïŒARïŒãŸãã¯ä»®æ³ç°å¢å ïŒVRïŒã«ä»®æ³ãªããžã§ã¯ããé 眮ã§ããããã«ããŸãã
- ãªããžã§ã¯ãã®æäœïŒãŠãŒã¶ãŒãä»®æ³ãªããžã§ã¯ããéžæãæäœããŸãã¯å¯Ÿè©±ã§ããããã«ããŸãã
- ããã²ãŒã·ã§ã³ïŒãŠãŒã¶ãŒãæã瀺ããŠã¯ãªãã¯ããããšã§ä»®æ³ç°å¢å ãç§»åããæ¹æ³ãæäŸããŸãã
- ç°å¢çè§£ïŒçŸå®äžçïŒARïŒå ã®è¡šé¢ãå¢çãæ€åºãããªã¢ã«ãªã€ã³ã¿ã©ã¯ã·ã§ã³ãäœæããŸãã
WebXR Device APIã¯ãããããã¹ããå®è¡ããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãã©ã®ããã«æ©èœããããçè§£ããããšã¯ãããã©ãŒãã³ã¹ãæé©åããããã«äžå¯æ¬ ã§ããããããã¹ãã«é¢äžããäž»èŠãªã³ã³ããŒãã³ãã¯æ¬¡ã®ãšããã§ãã
- XRFrameïŒWebXRã»ãã·ã§ã³å ã®ãã¬ãŒã ã衚ãããã¥ãŒã¢ã®ããŒãºããã®ä»ã®é¢é£æ å ±ãžã®ã¢ã¯ã»ã¹ãæäŸããŸãã
- XRInputSourceïŒã³ã³ãããŒã©ãŒãã¿ããã¹ã¯ãªãŒã³ãªã©ã®å ¥åãœãŒã¹ã衚ããŸãã
- XRRayïŒå ¥åãœãŒã¹ããçºãããããããããã¹ãã«äœ¿çšãããã¬ã€ãå®çŸ©ããŸãã
- XRHitTestSourceïŒXRRayã«åºã¥ããŠã·ãŒã³ã«å¯ŸããŠããããã¹ããå®è¡ãããªããžã§ã¯ãã
- XRHitTestResultïŒäº€å·®ç¹ã®ããŒãºãå«ããããããã¹ãã®çµæãæ ŒçŽããŸãã
ããã©ãŒãã³ã¹ã®ããã«ããã¯ïŒã¬ã€ãã£ã¹ãã£ã³ã°
ããããã¹ãã®äžæ žã§ããã¬ã€ãã£ã¹ãã£ã³ã°ã¯ãç¹ã«å€æ°ã®ãªããžã§ã¯ããããªãŽã³ãæã€è€éãªã·ãŒã³ã§ã¯ãèšç®è² è·ãé«ããªããŸããåãã¬ãŒã ã§ãã¢ããªã±ãŒã·ã§ã³ã¯1ã€ã®ã¬ã€ãšæ°åãã®äžè§åœ¢ãšã®äº€å·®ãèšç®ããå¿ èŠããããŸããæé©åãäžååãªã¬ã€ãã£ã¹ãã£ã³ã°ã¯ãããã«ããã©ãŒãã³ã¹ã®ããã«ããã¯ãšãªãã以äžã®ãããªåé¡ãåŒãèµ·ããå¯èœæ§ããããŸãã
- äœãã¬ãŒã ã¬ãŒãïŒã«ã¯ã«ã¯ããäžå¿«ãªãŠãŒã¶ãŒäœéšã«ã€ãªãããŸãã
- é å»¶ã®å¢å ïŒãŠãŒã¶ãŒå ¥åãšä»®æ³ç°å¢ã§ã®å¯Ÿå¿ããã¢ã¯ã·ã§ã³ãšã®éã«é å»¶ãåŒãèµ·ãããŸãã
- é«ãCPU䜿çšçïŒããããªãŒå¯¿åœãæ¶èãããããã€ã¹ãéç±ããå¯èœæ§ããããŸãã
ã¬ã€ãã£ã¹ãã£ã³ã°ã®ããã©ãŒãã³ã¹ã³ã¹ãã«ã¯ãããã€ãã®èŠå ãå¯äžããŸãã
- ã·ãŒã³ã®è€éãïŒã·ãŒã³å ã®ãªããžã§ã¯ããšããªãŽã³ã®æ°ããå¿ èŠãªäº€å·®èšç®ã®æ°ã«çŽæ¥åœ±é¿ããŸãã
- ã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã ïŒã¬ã€ãšäžè§åœ¢ã®äº€å·®ãèšç®ããããã«äœ¿çšãããã¢ã«ãŽãªãºã ã®å¹çã
- ããŒã¿æ§é ïŒã·ãŒã³ããŒã¿ã®æ§æãšç©ºéå岿è¡ã®äœ¿çšã
- ããŒããŠã§ã¢èœåïŒWebXRã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŠããããã€ã¹ã®åŠçèœåã
ã¬ã€ãã£ã¹ãã£ã³ã°ã®æé©åæè¡
ã¬ã€ãã£ã¹ãã£ã³ã°ã®æé©åã«ã¯ãã¢ã«ãŽãªãºã ã®æ¹åãããŒã¿æ§é ã®æé©åãããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã®çµã¿åãããå«ãŸããŸãã以äžã«ãWebXRã¢ããªã±ãŒã·ã§ã³ã®ããããã¹ãããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããããã€ãã®æè¡ã玹ä»ããŸãã
1. å¢çããªã¥ãŒã éå±€ïŒBVHïŒ
å¢çããªã¥ãŒã éå±€ïŒBVHïŒã¯ãã·ãŒã³ã空éçã«å°ãã管çããããé åã«åå²ããæšæ§é ã®ããŒã¿æ§é ã§ããããªãŒã®åããŒãã¯ãã·ãŒã³ã®ãžãªã¡ããªã®ãµãã»ãããå²ãå¢çããªã¥ãŒã ïŒäŸïŒããŠã³ãã£ã³ã°ããã¯ã¹ãããŠã³ãã£ã³ã°ã¹ãã£ã¢ïŒã衚ããŸããBVHã䜿çšãããšãã¬ã€ãšäº€å·®ããªãã·ãŒã³ã®å€§éšåãè¿ éã«é€å€ã§ããã¬ã€ãšäžè§åœ¢ã®äº€å·®ãã¹ãã®æ°ãå€§å¹ ã«åæžã§ããŸãã
ä»çµã¿ïŒ
- ã¬ã€ã¯ãŸãBVHã®ã«ãŒãããŒãã«å¯ŸããŠãã¹ããããŸãã
- ã¬ã€ãã«ãŒãããŒããšäº€å·®ããå Žåãååž°çã«åããŒãã«å¯ŸããŠãã¹ããããŸãã
- ã¬ã€ãããŒããšäº€å·®ããªãå Žåããã®ããŒããã«ãŒããšãããµãããªãŒå šäœãç Žæ£ãããŸãã
- ã¬ã€ãšäº€å·®ãããªãŒãããŒãå ã®äžè§åœ¢ã®ã¿ã亀差ãã¹ãã®å¯Ÿè±¡ãšãªããŸãã
å©ç¹ïŒ
- ã¬ã€ãšäžè§åœ¢ã®äº€å·®ãã¹ãã®æ°ãå€§å¹ ã«åæžããŸãã
- ç¹ã«è€éãªã·ãŒã³ã§ã®ããã©ãŒãã³ã¹ãåäžãããŸãã
- ããŸããŸãªå¢çããªã¥ãŒã ã¿ã€ãïŒäŸïŒAABBãçäœïŒã䜿çšããŠå®è£ ã§ããŸãã
äŸïŒæŠå¿µïŒïŒå³æžé€šã§æ¬ãæ¢ãããšãæ³åããŠã¿ãŠãã ãããã«ã¿ãã°ïŒBVHïŒããªããã°ããã¹ãŠã®æ£ã®ãã¹ãŠã®æ¬ã確èªããå¿ èŠããããŸããBVHã¯å³æžé€šã®ã«ã¿ãã°ã®ãããªãã®ã§ããæ€çŽ¢ç¯å²ãç¹å®ã®ã»ã¯ã·ã§ã³ãæ£ã«ãã°ããçµã蟌ã¿ãå€ãã®æéãç¯çŽããã®ã«åœ¹ç«ã¡ãŸãã
2. å «åæšãšK-dæš
BVHãšåæ§ã«ãå «åæšãšK-dæšã¯ã·ãŒã³ãããå°ããªé åã«åå²ãã空éåå²ããŒã¿æ§é ã§ããå «åæšã¯ç©ºéãååž°çã«8ã€ã®å «ååã«åå²ããK-dæšã¯ç°ãªãè»žã«æ²¿ã£ãŠç©ºéãåå²ããŸãããããã®æ§é ã¯ããžãªã¡ããªãäžåäžã«ååžããŠããã·ãŒã³ã§ç¹ã«å¹æçã§ãã
ä»çµã¿ïŒ
- ã·ãŒã³ã¯ååž°çã«å°ããªé åã«åå²ãããŸãã
- åé åã«ã¯ãã·ãŒã³ã®ãžãªã¡ããªã®ãµãã»ãããå«ãŸããŠããŸãã
- ã¬ã€ã¯åé åã«å¯ŸããŠãã¹ããããã©ã®é åãšäº€å·®ããããæ±ºå®ããŸãã
- 亀差ããé åå ã®äžè§åœ¢ã®ã¿ã亀差ãã¹ãã®å¯Ÿè±¡ãšãªããŸãã
å©ç¹ïŒ
- äžåäžã«ååžãããžãªã¡ããªã«å¯ŸããŠå¹ççãªç©ºéåå²ãæäŸããŸãã
- ã¬ã€ãã£ã¹ãã£ã³ã°ããã®ä»ã®ç©ºéã¯ãšãªãé«éåããããã«äœ¿çšã§ããŸãã
- ãªããžã§ã¯ããç§»åããã圢ç¶ãå€ãããããåçãªã·ãŒã³ã«é©ããŠããŸãã
3. ãã©ã¹ã¿ã ã«ãªã³ã°
ãã©ã¹ã¿ã ã«ãªã³ã°ã¯ãã«ã¡ã©ã®èŠéïŒãã©ã¹ã¿ã ïŒã®å€ã«ãããªããžã§ã¯ããç Žæ£ããæè¡ã§ããããã«ãããã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒã«èŠããªããªããžã§ã¯ãã«å¯ŸããŠäžèŠãªã¬ã€ãšäžè§åœ¢ã®äº€å·®ãã¹ããå®è¡ããã®ãé²ããŸãããã©ã¹ã¿ã ã«ãªã³ã°ã¯3Dã°ã©ãã£ãã¯ã¹ã«ãããæšæºçãªæé©åæè¡ã§ãããWebXRã¢ããªã±ãŒã·ã§ã³ã«ç°¡åã«çµ±åã§ããŸãã
ä»çµã¿ïŒ
- ã«ã¡ã©ã®ãã©ã¹ã¿ã ã¯ãèŠéãã¢ã¹ãã¯ãæ¯ãè¿ã¯ãªããé¢ãšé ã¯ãªããé¢ã«ãã£ãŠå®çŸ©ãããŸãã
- ã·ãŒã³å ã®åãªããžã§ã¯ãã¯ãã©ã¹ã¿ã ã«å¯ŸããŠãã¹ãããã衚瀺ãããŠãããã©ããã倿ããŸãã
- ãã©ã¹ã¿ã ã®å€ã«ãããªããžã§ã¯ãã¯ç Žæ£ãããã¬ã³ããªã³ã°ã亀差ãã¹ãããããŸããã
å©ç¹ïŒ
- ã¬ã€ãã£ã¹ãã£ã³ã°ã§èæ ®ããå¿ èŠã®ãããªããžã§ã¯ãã®æ°ãæžãããŸãã
- ç¹ã«ãªããžã§ã¯ãæ°ãå€ãã·ãŒã³ã§ã®ããã©ãŒãã³ã¹ãåäžãããŸãã
- å®è£ ã容æã§ãæ¢åã®3Dã°ã©ãã£ãã¯ã¹ãã€ãã©ã€ã³ã«çµ±åããããã§ãã
4. è·é¢ããŒã¹ã®ã«ãªã³ã°
ãã©ã¹ã¿ã ã«ãªã³ã°ãšåæ§ã«ãè·é¢ããŒã¹ã®ã«ãªã³ã°ã¯ããŠãŒã¶ãŒããé ãããŠé¢é£æ§ããªããªããžã§ã¯ããç Žæ£ããŸããããã¯ãé ãã®ãªããžã§ã¯ãããŠãŒã¶ãŒäœéšã«ã»ãšãã©åœ±é¿ãäžããªãå€§èŠæš¡ãªä»®æ³ç°å¢ã§ç¹ã«å¹æçã§ããéœåžãã·ãã¥ã¬ãŒãããVRã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŠãã ããããŠãŒã¶ãŒãè¿ãã®ãªããžã§ã¯ãã«éäžããŠããå Žåãé ãã«ãã建ç©ã¯ããããã¹ãã§èæ ®ããå¿ èŠããªããããããŸããã
ä»çµã¿ïŒ
- æå€§è·é¢ã®ãããå€ãå®çŸ©ãããŸãã
- ãŠãŒã¶ãŒãããããå€ãããé ããªããžã§ã¯ãã¯ç Žæ£ãããŸãã
- ãããå€ã¯ãã·ãŒã³ããŠãŒã¶ãŒã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã«åºã¥ããŠèª¿æŽã§ããŸãã
å©ç¹ïŒ
- ã¬ã€ãã£ã¹ãã£ã³ã°ã§èæ ®ããå¿ èŠã®ãããªããžã§ã¯ãã®æ°ãæžãããŸãã
- å€§èŠæš¡ç°å¢ã§ã®ããã©ãŒãã³ã¹ãåäžãããŸãã
- ããã©ãŒãã³ã¹ãšèŠèŠçãªå¿ å®åºŠã®ãã©ã³ã¹ããšãããã«ç°¡åã«èª¿æŽã§ããŸãã
5. ããããã¹ãçšã®åçŽåããããžãªã¡ããª
ããããã¹ãã«é«è§£å床ã®ãžãªã¡ããªã䜿çšãã代ããã«ãåçŽåãããäœè§£å床ã®ããŒãžã§ã³ã䜿çšããããšãæ€èšããŠãã ãããããã«ãããããããã¹ãçµæã®ç²ŸåºŠã«å€§ããªåœ±é¿ãäžããããšãªãã亀差ãã¹ããå¿ èŠãªäžè§åœ¢ã®æ°ãå€§å¹ ã«åæžã§ããŸããããšãã°ãããããã¹ãäžã«è€éãªãªããžã§ã¯ãã®ãããã·ãšããŠããŠã³ãã£ã³ã°ããã¯ã¹ãåçŽåãããã¡ãã·ã¥ã䜿çšã§ããŸãã
ä»çµã¿ïŒ
- ãªããžã§ã¯ãã®ãžãªã¡ããªã®åçŽåãããããŒãžã§ã³ãäœæããŸãã
- ããããã¹ãã«ã¯åçŽåããããžãªã¡ããªã䜿çšããŸãã
- åçŽåããããžãªã¡ããªã§ããããæ€åºãããå Žåãå ã®ãžãªã¡ããªã§ããæ£ç¢ºãªããããã¹ããå®è¡ããŸãïŒãªãã·ã§ã³ïŒã
å©ç¹ïŒ
- 亀差ãã¹ããå¿ èŠãªäžè§åœ¢ã®æ°ãæžãããŸãã
- ç¹ã«è€éãªãªããžã§ã¯ãã«å¯ŸããŠããã©ãŒãã³ã¹ãåäžãããŸãã
- ä»ã®æé©åæè¡ãšçµã¿åãããŠäœ¿çšã§ããŸãã
6. ã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã
ã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã ã®éžæã¯ãããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸããäžè¬çãªã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã ã«ã¯æ¬¡ã®ãããªãã®ããããŸãã
- MöllerâTrumboreã¢ã«ãŽãªãºã ïŒã¬ã€ãšäžè§åœ¢ã®äº€å·®ãèšç®ããããã®é«éã§å ç¢ãªã¢ã«ãŽãªãºã ã
- ããªã¥ãã«ãŒåº§æšïŒ3D空éã§çŽç·ãå¹³é¢ã衚çŸããæ¹æ³ã§ãã¬ã€ãã£ã¹ãã£ã³ã°ã®é«éåã«äœ¿çšã§ããŸãã
- å¢çããªã¥ãŒã éå±€ãã©ããŒãµã«ã¢ã«ãŽãªãºã ïŒäº€å·®åè£ãå¹ççã«èŠã€ããããã«BVHãæ¢çŽ¢ããã¢ã«ãŽãªãºã ã
ããŸããŸãªã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã ã調æ»ã»å®éšããç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãã·ãŒã³ã®è€éãã«æé©ãªãã®ãèŠã€ããŠãã ãããããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã掻çšããæé©åãããã©ã€ãã©ãªãå®è£ ã®äœ¿çšãæ€èšããŠãã ããã
7. èšç®ãªãããŒãã®ããã®Web Workers
Web Workersã䜿çšãããšãã¬ã€ãã£ã¹ãã£ã³ã°ãªã©ã®èšç®è² è·ã®é«ãã¿ã¹ã¯ãå¥ã®ã¹ã¬ããã«ãªãããŒãã§ããã¡ã€ã³ã¹ã¬ããããããã¯ãããã®ãé²ããã¹ã ãŒãºãªãŠãŒã¶ãŒäœéšãç¶æã§ããŸããããã¯ãäžè²«ãããã¬ãŒã ã¬ãŒãã®ç¶æãéèŠãªWebXRã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠç¹ã«éèŠã§ãã
ä»çµã¿ïŒ
- Web Workerãäœæããã¬ã€ãã£ã¹ãã£ã³ã°ã®ã³ãŒããããã«ããŒãããŸãã
- ã·ãŒã³ããŒã¿ãšã¬ã€æ å ±ãWeb Workerã«éä¿¡ããŸãã
- Web Workerã¯ã¬ã€ãã£ã¹ãã£ã³ã°èšç®ãå®è¡ããçµæãã¡ã€ã³ã¹ã¬ããã«éãè¿ããŸãã
- ã¡ã€ã³ã¹ã¬ããã¯ããããã¹ãã®çµæã«åºã¥ããŠã·ãŒã³ãæŽæ°ããŸãã
å©ç¹ïŒ
- ã¡ã€ã³ã¹ã¬ããããããã¯ãããã®ãé²ããŸãã
- ã¹ã ãŒãºã§å¿çæ§ã®é«ããŠãŒã¶ãŒäœéšãç¶æããŸãã
- ãã«ãã³ã¢ããã»ããµã掻çšããŠããã©ãŒãã³ã¹ãåäžãããŸãã
èæ ®äºé ïŒã¡ã€ã³ã¹ã¬ãããšWeb Workerã®éã§å€§éã®ããŒã¿ã転éãããšããªãŒããŒããããçºçããå¯èœæ§ããããŸããå¹ççãªããŒã¿æ§é ã䜿çšããå¿ èŠãªæ å ±ã®ã¿ãéä¿¡ããããšã§ããŒã¿è»¢éãæå°éã«æããŸãã
8. GPUã¢ã¯ã»ã©ã¬ãŒã·ã§ã³
GPUã®ãã¯ãŒãã¬ã€ãã£ã¹ãã£ã³ã°èšç®ã«æŽ»çšããŸããWebGLã¯GPUã®äžŠååŠçèœåãžã®ã¢ã¯ã»ã¹ãæäŸããããã«ããã¬ã€ãšäžè§åœ¢ã®äº€å·®ãã¹ããå€§å¹ ã«é«éåã§ããŸããã·ã§ãŒããŒã䜿çšããŠã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã ãå®è£ ããèšç®ãGPUã«ãªãããŒãããŸãã
ä»çµã¿ïŒ
- ã·ãŒã³ã®ãžãªã¡ããªãšã¬ã€æ å ±ãGPUã«ã¢ããããŒãããŸãã
- ã·ã§ãŒããŒããã°ã©ã ã䜿çšããŠGPUã§ã¬ã€ãšäžè§åœ¢ã®äº€å·®ãã¹ããå®è¡ããŸãã
- GPUããããããã¹ãã®çµæãèªã¿æ»ããŸãã
å©ç¹ïŒ
- GPUã®äžŠååŠçèœåãæŽ»çšããŸãã
- ã¬ã€ãã£ã¹ãã£ã³ã°èšç®ãå€§å¹ ã«é«éåããŸãã
- è€éãªã·ãŒã³ã§ã®ãªã¢ã«ã¿ã€ã ããããã¹ããå¯èœã«ããŸãã
èæ ®äºé ïŒGPUããŒã¹ã®ã¬ã€ãã£ã¹ãã£ã³ã°ã¯ãCPUããŒã¹ã®ã¬ã€ãã£ã¹ãã£ã³ã°ãããå®è£ ãè€éã«ãªãå ŽåããããŸããã·ã§ãŒããŒããã°ã©ãã³ã°ãšWebGLã«é¢ããååãªçè§£ãå¿ èŠã§ãã
9. ããããã¹ãã®ãããåŠç
1ãã¬ãŒã ã§è€æ°ã®ããããã¹ããå®è¡ããå¿ èŠãããå Žåã¯ããããã1åã®åŒã³åºãã«ãŸãšããããšãæ€èšããŠãã ãããããã«ãããããããã¹ãæäœã®ã»ããã¢ãããšå®è¡ã«é¢é£ãããªãŒããŒããããåæžã§ããŸããããšãã°ãç°ãªãå ¥åãœãŒã¹ããçºããããè€æ°ã®ã¬ã€ã®äº€å·®ç¹ã決å®ããå¿ èŠãããå Žåãããããåäžã®ãªã¯ãšã¹ãã«ãŸãšããŸãã
ä»çµã¿ïŒ
- å®è¡ããå¿ èŠã®ããããããã¹ãã®ãã¹ãŠã®ã¬ã€æ å ±ãåéããŸãã
- ã¬ã€æ å ±ãåäžã®ããŒã¿æ§é ã«ããã±ãŒãžåããŸãã
- ããŒã¿æ§é ãããããã¹ã颿°ã«éä¿¡ããŸãã
- ããããã¹ã颿°ã¯ããã¹ãŠã®ããããã¹ãã1åã®æäœã§å®è¡ããŸãã
å©ç¹ïŒ
- ããããã¹ãæäœã®ã»ããã¢ãããšå®è¡ã«é¢é£ãããªãŒããŒããããåæžããŸãã
- 1ãã¬ãŒã ã§è€æ°ã®ããããã¹ããå®è¡ããéã®ããã©ãŒãã³ã¹ãåäžãããŸãã
10. ããã°ã¬ãã·ããªãã¡ã€ã³ã¡ã³ã
峿ã®ããããã¹ãçµæãéèŠã§ãªãã·ããªãªã§ã¯ãããã°ã¬ãã·ããªãã¡ã€ã³ã¡ã³ãã¢ãããŒãã®äœ¿çšãæ€èšããŠãã ãããåçŽåããããžãªã¡ããªãŸãã¯éå®ãããæ€çŽ¢ç¯å²ã䜿çšããŠç²ãããããã¹ãããå§ãããã®åŸãè€æ°ã®ãã¬ãŒã ã«ããã£ãŠçµæã詳现åããŸããããã«ãããããããã¹ãçµæã®ç²ŸåºŠãåŸã ã«åäžãããªããããŠãŒã¶ãŒã«è¿ éãªåæãã£ãŒãããã¯ãæäŸã§ããŸãã
ä»çµã¿ïŒ
- åçŽåããããžãªã¡ããªã§ç²ãããããã¹ããå®è¡ããŸãã
- åæã®ããããã¹ãçµæããŠãŒã¶ãŒã«è¡šç€ºããŸãã
- ãã詳现ãªãžãªã¡ããªãåºãæ€çŽ¢ç¯å²ã䜿çšããŠãè€æ°ã®ãã¬ãŒã ã«ããã£ãŠããããã¹ãã®çµæã詳现åããŸãã
- ããããã¹ãã®çµæã詳现åãããã«ã€ããŠè¡šç€ºãæŽæ°ããŸãã
å©ç¹ïŒ
- ãŠãŒã¶ãŒã«è¿ éãªåæãã£ãŒãããã¯ãæäŸããŸãã
- åäžãã¬ãŒã ã«ãããããããã¹ãã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ã軜æžããŸãã
- ããå¿çæ§ã®é«ãã€ã³ã¿ã©ã¯ã·ã§ã³ãæäŸããããšã§ããŠãŒã¶ãŒäœéšãåäžãããŸãã
ãããã¡ã€ãªã³ã°ãšãããã°
广çãªæé©åã«ã¯ãæ éãªãããã¡ã€ãªã³ã°ãšãããã°ãå¿ èŠã§ãããã©ãŠã¶ã®éçºè ããŒã«ãããã©ãŒãã³ã¹åæããŒã«ã䜿çšããŠãWebXRã¢ããªã±ãŒã·ã§ã³ã®ããã«ããã¯ãç¹å®ããŸããç¹ã«ä»¥äžã®ç¹ã«æ³šæããŠãã ããã
- ãã¬ãŒã ã¬ãŒãïŒããã©ãŒãã³ã¹ã®äœäžãç¹å®ããããã«ãã¬ãŒã ã¬ãŒããç£èŠããŸãã
- CPU䜿çšçïŒèšç®è² è·ã®é«ãã¿ã¹ã¯ãç¹å®ããããã«CPU䜿çšçãåæããŸãã
- GPU䜿çšçïŒã°ã©ãã£ãã¯ã¹é¢é£ã®ããã«ããã¯ãç¹å®ããããã«GPU䜿çšçãç£èŠããŸãã
- ã¡ã¢ãªäœ¿çšéïŒã¡ã¢ãªã®å²ãåœãŠãšè§£æŸã远跡ããæœåšçãªã¡ã¢ãªãªãŒã¯ãç¹å®ããŸãã
- ã¬ã€ãã£ã¹ãã£ã³ã°æéïŒã¬ã€ãã£ã¹ãã£ã³ã°èšç®ã«è²»ããããæéãæž¬å®ããŸãã
ãããã¡ã€ãªã³ã°ããŒã«ã䜿çšããŠãããã©ãŒãã³ã¹ããã«ããã¯ã«æãå¯äžããŠããã³ãŒãã®ç¹å®ã®è¡ãç¹å®ããŸããããŸããŸãªæé©åæè¡ã詊ããããããããã©ãŒãã³ã¹ã«äžãã圱é¿ã枬å®ããŸããç®çã®ããã©ãŒãã³ã¹ã¬ãã«ã«éãããŸã§ãæé©åãç¹°ãè¿ããæ¹è¯ããŠãã ããã
WebXRããããã¹ãã®ãã¹ããã©ã¯ãã£ã¹
WebXRã¢ããªã±ãŒã·ã§ã³ã§ããããã¹ããå®è£ ããéã«åŸãã¹ããã¹ããã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãã
- å¢çããªã¥ãŒã éå±€ã䜿çšããïŒã¬ã€ãã£ã¹ãã£ã³ã°ãé«éåããããã«ãBVHãŸãã¯ä»ã®ç©ºéåå²ããŒã¿æ§é ãå®è£ ããŸãã
- ãžãªã¡ããªãåçŽåããïŒããããã¹ãã«åçŽåããããžãªã¡ããªã䜿çšããŠã亀差ãã¹ããå¿ èŠãªäžè§åœ¢ã®æ°ãæžãããŸãã
- èŠããªããªããžã§ã¯ããã«ãªã³ã°ããïŒãã©ã¹ã¿ã ã«ãªã³ã°ãšè·é¢ããŒã¹ã®ã«ãªã³ã°ãå®è£ ããŠããŠãŒã¶ãŒã«èŠããªãããŸãã¯é¢é£æ§ã®ãªããªããžã§ã¯ããç Žæ£ããŸãã
- èšç®ããªãããŒãããïŒWeb Workersã䜿çšããŠãã¬ã€ãã£ã¹ãã£ã³ã°ãªã©ã®èšç®è² è·ã®é«ãã¿ã¹ã¯ãå¥ã®ã¹ã¬ããã«ãªãããŒãããŸãã
- GPUã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã掻çšããïŒã·ã§ãŒããŒã䜿çšããŠã¬ã€ãã£ã¹ãã£ã³ã°ã¢ã«ãŽãªãºã ãå®è£ ããèšç®ãGPUã«ãªãããŒãããŸãã
- ããããã¹ãããããåŠçããïŒè€æ°ã®ããããã¹ãã1åã®åŒã³åºãã«ãŸãšããŠãªãŒããŒããããåæžããŸãã
- ããã°ã¬ãã·ããªãã¡ã€ã³ã¡ã³ãã䜿çšããïŒããã°ã¬ãã·ããªãã¡ã€ã³ã¡ã³ãã¢ãããŒãã䜿çšããŠãããããã¹ãçµæã®ç²ŸåºŠãåŸã ã«åäžãããªããããŠãŒã¶ãŒã«è¿ éãªåæãã£ãŒãããã¯ãæäŸããŸãã
- ãããã¡ã€ãªã³ã°ãšãããã°ãè¡ãïŒã³ãŒãããããã¡ã€ãªã³ã°ããã³ãããã°ããŠãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããæé©åãç¹°ãè¿ããŸãã
- ã¿ãŒã²ããããã€ã¹åãã«æé©åããïŒWebXRã¢ããªã±ãŒã·ã§ã³ãæé©åããéã«ã¯ãã¿ãŒã²ããããã€ã¹ã®èœåãèæ ®ããŸããããã€ã¹ã«ãã£ãŠããã©ãŒãã³ã¹ç¹æ§ãç°ãªãå ŽåããããŸãã
- 宿©ã§ãã¹ãããïŒããã©ãŒãã³ã¹ãæ£ç¢ºã«çè§£ããããã«ãå¿ ã宿©ã®ããã€ã¹ã§WebXRã¢ããªã±ãŒã·ã§ã³ããã¹ãããŸãããšãã¥ã¬ãŒã¿ãã·ãã¥ã¬ãŒã¿ã¯ãå®éã®ããŒããŠã§ã¢ã®ããã©ãŒãã³ã¹ãæ£ç¢ºã«åæ ããªãå ŽåããããŸãã
äžçäžã®ç£æ¥ã«ãããäºäŸ
WebXRããããã¹ãã®æé©åã¯ãäžçäžã®ããŸããŸãªç£æ¥ã«å€§ããªåœ±é¿ãäžããŸãã以äžã«ããã€ãã®äŸãæããŸãã
- Eã³ããŒã¹ïŒã°ããŒãã«ïŒïŒããããã¹ããæé©åããããšã§ããŠãŒã¶ãŒã¯ARã䜿çšããŠä»®æ³ã®å®¶å ·ãèªå® ã«æ£ç¢ºã«é 眮ã§ãããªã³ã©ã€ã³ã·ã§ããã³ã°äœéšãåäžããŸããããé«éãªããããã¹ãã¯ãããå¿çæ§ãé«ããªã¢ã«ãªé 眮ãæå³ããå Žæã«é¢ä¿ãªããŠãŒã¶ãŒã®ä¿¡é Œãšè³Œå ¥æ±ºå®ã«äžå¯æ¬ ã§ãã
- ã²ãŒã ïŒåœéïŒïŒAR/VRã²ãŒã ã¯ããªããžã§ã¯ãã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãäžçã®æ¢çŽ¢ã®ããã«ããããã¹ãã«å€§ããäŸåããŠããŸããæé©åãããã¬ã€ãã£ã¹ãã£ã³ã°ã¯ãã¹ã ãŒãºãªã²ãŒã ãã¬ã€ãšé åçãªãŠãŒã¶ãŒäœéšã«äžå¯æ¬ ã§ãã倿§ãªãã©ãããã©ãŒã ããããã¯ãŒã¯æ¡ä»¶ã§ãã¬ã€ãããã²ãŒã ãèãããšãå¹ççãªããããã¹ãã¯äžè²«ããäœéšã®ããã«ããã«éèŠã«ãªããŸãã
- æè²ïŒã°ããŒãã«ïŒïŒä»®æ³ã®è§£åã¢ãã«ãæŽå²çåæ§ç¯ãªã©ãVR/ARã§ã®ã€ã³ã¿ã©ã¯ãã£ããªæè²äœéšã¯ã3Dãªããžã§ã¯ããšã®æ£ç¢ºãªã€ã³ã¿ã©ã¯ã·ã§ã³ã®ããã«æé©åãããããããã¹ãã®æ©æµãåããŸããäžçäžã®åŠçããã¢ã¯ã»ã¹ããããããã©ãŒãã³ã¹ã®é«ãæè²ããŒã«ããå©çãåŸãããšãã§ããŸãã
- ãã¬ãŒãã³ã°ãšã·ãã¥ã¬ãŒã·ã§ã³ïŒå€æ§ãªç£æ¥ïŒïŒèªç©ºã補é ããã«ã¹ã±ã¢ãªã©ã®ç£æ¥ã¯ããã¬ãŒãã³ã°ãšã·ãã¥ã¬ãŒã·ã§ã³ã«VR/ARã䜿çšããŠããŸããæé©åãããããããã¹ãã«ãããä»®æ³æ©åšãç°å¢ãšã®ãªã¢ã«ãªã€ã³ã¿ã©ã¯ã·ã§ã³ãå¯èœã«ãªãããã¬ãŒãã³ã°ããã°ã©ã ã®å¹æãåäžããŸããããšãã°ãã€ã³ãã§ã®å€ç§æè¡ã·ãã¥ã¬ãŒã·ã§ã³ã§ã¯ãä»®æ³åšå ·ãšã®æ£ç¢ºã§å¿çæ§ã®é«ãã€ã³ã¿ã©ã¯ã·ã§ã³ãæãéèŠã§ãã
- 建ç¯ãšãã¶ã€ã³ïŒåœéïŒïŒå»ºç¯å®¶ããã¶ã€ããŒã¯ãAR/VRã䜿çšããŠãçŸå®äžçã®æèã§å»ºç©ã®ã¢ãã«ãèŠèŠåãã察話ããŸããæé©åãããããããã¹ãã«ããããããžã§ã¯ãã®å Žæã«é¢ä¿ãªããçŸå Žã«ä»®æ³ã¢ãã«ãæ£ç¢ºã«é 眮ããçŸå®çãªæ¹æ³ã§èšèšãªãã·ã§ã³ãæ¢çŽ¢ã§ããŸãã
çµè«
WebXRããããã¹ãã®ããã®ã¬ã€ãã£ã¹ãã£ã³ã°ã®æé©åã¯ãããã©ãŒãã³ã¹ãé«ããæ¥œããæ¡åŒµçŸå®ããã³ä»®æ³çŸå®äœéšãäœæããããã«äžå¯æ¬ ã§ãããã®èšäºã§æŠèª¬ããæè¡ãšãã¹ããã©ã¯ãã£ã¹ãå®è£ ããããšã§ãWebXRã¢ããªã±ãŒã·ã§ã³ã®å¿çæ§ãå€§å¹ ã«åäžãããããæ²¡å ¥æã®ããé åçãªãŠãŒã¶ãŒäœéšãæäŸã§ããŸããããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããããã«ã³ãŒãããããã¡ã€ãªã³ã°ããã³ãããã°ããç®çã®ããã©ãŒãã³ã¹ã¬ãã«ã«éãããŸã§æé©åãç¹°ãè¿ãããšãå¿ããªãã§ãã ãããWebXRæè¡ãé²åãç¶ããäžã§ãå¹ççãªããããã¹ãã¯ãé åçã§ã€ã³ã¿ã©ã¯ãã£ããªæ²¡å ¥åäœéšãåµé ããããã®åºç€ã§ããç¶ããã§ãããã